package com.alibaba.citrus.cr.sales.plan.api.statistics;

import com.alibaba.citrus.cr.sales.plan.dto.api.request.DeleteSalesPlanScItemStatRequest;
import com.alibaba.citrus.cr.sales.plan.dto.api.response.GoodsOwnershipDepartmentResponse;
import com.alibaba.citrus.cr.sales.plan.sdo.SalesPlanStatScItemSDO;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;
import com.alibaba.lattice2.epoch.sdk.model.Result;

/**
 * @author yuhailin
 * @description:
 * @date 2021-09-27 10:27
 */
@MeshFlowService(apps = {"bc_order"}, name = "salesPlanScItemStatWriteService")
public interface SalesPlanScItemStatWriteService {

    /**
     * 编辑货品维度
     *
     * @param salesPlanScItemStatSDO
     * @return
     */
    Result<Boolean> editSalesPlanScItem(SalesPlanStatScItemSDO salesPlanScItemStatSDO);

    /**
     * 更新货品维度状态
     *
     * @param salesPlanScItemStatSDO
     * @return
     */
    Result<Boolean> updateSalesPlanScItemStatus(SalesPlanStatScItemSDO salesPlanScItemStatSDO);

    /**
     * 删除货品维度
     *
     * @param deleteSalesPlanScItemStatRequest
     * @return
     */
    Result<Boolean> deletePlanScItem(DeleteSalesPlanScItemStatRequest deleteSalesPlanScItemStatRequest);

    /**
     * 部门提报量分解
     * @param departmentResponse
     * @return
     */
    Result<Boolean> departmentDecomposition(GoodsOwnershipDepartmentResponse departmentResponse);

    /**
     * 渠道提报量分解
     * @param channelResponse
     * @return
     */
    Result<Boolean> channelDecomposition(GoodsOwnershipDepartmentResponse channelResponse);

    /**
     * 部门调整量分解
     * @param departmentResponse
     * @return
     */
    Result<Boolean> departmentAdjustDecomposition(GoodsOwnershipDepartmentResponse departmentResponse);

    /**
     * 渠道调整量分解
     * @param channelResponse
     * @return
     */
    Result<Boolean> channelAdjustDecomposition(GoodsOwnershipDepartmentResponse channelResponse);


}
